.contact-section {
  text-align: center;
  color: var(--white);
  font-family: 'Montserrat', sans-serif;
  max-width: 1100px;
  margin: 0 auto;
}

.contact-section h1 {
  font-size: clamp(26px, 4vw, 34px);
  font-weight: 800;
  margin-bottom: 6px;
  color: var(--white);
}

.contact-section h2 {
  font-size: clamp(16px, 2.5vw, 20px);
  color: var(--accent);
  margin-bottom: 22px;
  font-weight: 600;
}

.social-boxes {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 52px;
}

.social-box {
  width: 100%;
  max-width: 420px;

  position: relative;
  isolation: isolate;

  padding: clamp(18px, 4vw, 32px) 16px;
  border-radius: 14px;
  overflow: hidden;

  background: linear-gradient(180deg, var(--deep-purple), var(--bg-dark));
  border: 1px solid rgba(122,63,240,0.30);
  box-shadow: var(--card-shadow);
  display: flex;
  gap: 18px;
  transition: transform var(--transition), box-shadow var(--transition);
}

.social-box:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 34px rgba(122,63,240,0.45);
}

.social-box img {
  height: 80px;
  border-radius: 14px;
  object-fit: cover;
  transition: transform var(--transition);
}

.social-box:hover img {
  transform: scale(1.08);
}


.social-text h2 {
  margin: 0 0 6px;
  font-size: clamp(16px, 2.2vw, 18px);
  color: var(--accent);
  font-weight: 700;
}

.social-text p {
  margin: 0 0 12px;
  color: var(--white);
  opacity: 0.95;
  font-size: clamp(13px, 2vw, 15px);
  line-height: 1.45;
}


.social-btn {
  display: inline-block;
  background: linear-gradient(90deg, var(--primary), var(--accent));
  padding: 8px 16px;
  border-radius: 10px;
  font-size: clamp(13px, 2vw, 15px);
  font-weight: 700;
  color: var(--white);
  text-decoration: none;

  transition: transform var(--transition), box-shadow var(--transition);
}

.social-btn:hover {
  transform: translateY(-3px) scale(1.03);
  box-shadow: 0 8px 24px rgba(122,63,240,0.45);
}



@media (max-width: 720px) {
  .social-boxes {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .social-box {
    padding: 16px 12px;
  }
  .social-box img {
    width: 70px;
    height: 70px;
  }
}